/**
 * ExtJs基本信息提示框（用于基本信息的提示）
 * @param msg 需要提示的信息
 * @param fn 提示后需要执行的操作
 * @author 张登
 * @时间 2012-8-27
 */
function showInfoMsg(msg,fn){
	if(!Ext.isEmpty(msg)){
		Ext.Msg.show({
			title:'提示',
			msg:msg,
			buttons: Ext.Msg.OK,
			icon: Ext.MessageBox.INFO,
			callback:function(e){
				if(!Ext.isEmpty(fn)){
					if(e=='ok'){
						fn();
					}
				}
			}
		});
	}
};

/**
 * ExtJs错误提示框（用于错误信息提示）
 * @param msg 需要提示的信息
 * @param fn 提示后需要执行的操作
 * @author 张登
 * @时间 2012-8-27
 */
function showErrorMsg(msg,fn){
	if(!Ext.isEmpty(msg)){
		Ext.Msg.show({
			title:'错误',
			msg:msg,
			buttons: Ext.Msg.OK,
			icon: Ext.MessageBox.ERROR,
			callback:function(e){
				if(!Ext.isEmpty(fn)){
					if(e=='ok'){
						fn();
					}
				}
			}
		});
	}
}

/**
 * ExtJs警告提示框（用于警告信息提示）
 * @param msg 需要提示的信息
 * @param fn 提示后需要执行的操作
 * @author 张登
 * @时间 2012-8-27
 */
function showWarningMsg(msg,fn){
	if(!Ext.isEmpty(msg)){
		Ext.Msg.show({
			title:'警告',
			msg:msg,
			buttons: Ext.Msg.OK,
			icon: Ext.MessageBox.WARNING,
			callback:function(e){
				if(!Ext.isEmpty(fn)){
					if(e=='ok'){
						fn();
					}
				}
			}
		});
	}
}

/**
 * ExtJs确认提示框（用于确认信息提示）
 * @param msg 需要提示的信息
 * @param yesFn 点击是后需要执行的操作
 * @param noFn 点击否后需要执行的操作
 * @author 张登
 * @时间 2012-8-27
 */
function confirm(msg,yesFn,noFn){
	if(!Ext.isEmpty(msg)){
		Ext.Msg.show({
			title:'确定',
			msg:msg,
			buttons: Ext.Msg.YESNO,
			icon: Ext.MessageBox.QUESTION,
			callback:function(e){
				if(!Ext.isEmpty(yesFn)){
					if(e=='yes'){
						yesFn();
					}
				}
				if(!Ext.isEmpty(noFn)){
					if(e=='no'){
						noFn();
					}
				}
			}
		});
	}
}

/**
 * ExtJs提示信息单行文本输入框（用于信息输入）
 * @param msg 需要提示的信息
 * @param fn 对应的操作(fn里有2个参数(p1,p2),p1是点击 OK或者CANCEL;p2是输入的提示信息内容)
 * @param isMultiline 是否多行输入
 * @author 张登
 * @时间 2012-8-27
 */
function prompt(msg,fn,isMultiline){
	if(!Ext.isEmpty(msg)){
		if(Ext.isEmpty(isMultiline)){
			Ext.MessageBox.prompt('请输入', msg, fn);
		}else{
			Ext.Msg.show({
				title:'请输入',
				msg:msg,
				multiline:true,
				buttons: Ext.MessageBox.OKCANCEL,
				callback:fn
			});
		}
	}
}

/**
 * ExtJs等待提示框（用于等待信息提示）
 * @author 张登
 * @时间 2012-8-27
 */
function showWait(){
	return Ext.Msg.show({
		title:'请等待',
	    msg: '正在执行......',
	    wait:true,
	    closable: false ,
	    waitConfig: {interval:150}
   });
};
function showMsgWait(msgStr){
	return Ext.Msg.show({
		title:'请等待',
	    msg:msgStr,
	    wait:true,
	    closable: false ,
	    waitConfig: {interval:100}
   });
};



/**
 * ExtJs等待提示框（用于等待信息提示  验证用户）
 * @author 张贞献
 * @时间 2012-8-27
 */
function showWaitOA(){
	return Ext.Msg.show({
		title:'请等待',
	    msg: '正在验证用户......',
	    wait:true,
	    closable: false ,
	    waitConfig: {interval:150}
   });
};


/**
 * ExtJs隐藏等待提示框
 * @author 张登
 * @时间 2012-8-27
 */
function hideWait(){
	Ext.Msg.hide();
}
//替换将oldStr 中的'< '替换为'<'
function replaceAll(oldStr){
	var reg=new RegExp("< ","g"); //创建正则RegExp对象  
	var newStr=oldStr.replace(reg,"<");  
	return newStr;
};

/**
 * params参数的Ajax
 * @param url 路径
 * @param params 参数
 * @param successFn 成功回调
 * @param failFn 失败回调
 * @author 张登
 * @时间 2012-8-27
 */
function requestAjax(url,params,successFn,failFn){
	Ext.Ajax.request({
		url:url,
		params:params,
		success:function(response){
			var result = Ext.decode(response.responseText);
			if(result.success){
				successFn(result);
			}else{
				failFn(result);
			}
		},
		failure:function(response){
			var result = Ext.decode(response.responseText);
			failFn(result);
		}
	});
};
/**
 * params参数的Ajax
 * @param url 路径
 * @param params 参数
 * @param successFn 成功回调
 * @param failFn 失败回调
 * @author 
 * @时间 2012-10-19
 */
function requestUmpAjax(url,params,successFn,failFn){
	Ext.Ajax.request({
		url:url,
		params:params,
		success:function(response){
			var result = Ext.decode(response.responseText);
			if(result.resultMessage.returnCode == 1){
				successFn(result.resultMessage);
			}else{
				failFn(result.resultMessage);
			}
		},
		failure:function(response){
			 var msg="请求失败，网络连接异常";
			  confirm(msg,function(){
				  return true;
			  },function(){
				  msgbox.hide();
				  win.close();
			  });
		}
	});
};


/**
 * 表单提交
 * @param url 路径
 * @param params 参数
 * @param successFn 成功回调
 * @param failFn 失败回调
 * @author 张登
 * @时间 2012-8-27
 */
function submitForm(url,form,params,successFn,failFn){
	if (form.getForm().isValid()){//表单数据进行验证
		form.getForm().submit({//提交表单
        	url : url,
        	params : params,
        	method : 'post',
            waitMsg:'保存中,请稍后...',//表单提交等待过程中,出现的等待字符
            success : function(form,action){           	
            	successFn(action.result);
    		},
            failure : function(form,action){
    			failFn(action.result);
    		}
        });
    }else{
    	showErrorMsg("表单验证不通过");
    }
};

/**
 * 表单提交
 * @param url 路径
 * @param params 参数
 * @param successFn 成功回调
 * @param failFn 失败回调
 * @author 张登
 * @时间 2012-8-27
 */
function submitUmpForm(url,form,params,returnFn){
	if (form.getForm().isValid()){//表单数据进行验证
		form.getForm().submit({//提交表单
        	url : url,
        	params : params,
        	method : 'post',
            waitMsg:'保存中,请稍后...',//表单提交等待过程中,出现的等待字符
            success : function(form,action) {				
            	returnFn(action.result.resultMessage);				
			},
			failure:function(response){
				 var msg="请求失败，网络连接异常";
				  confirm(msg,function(){
					  return true;
				  },function(){
					  msgbox.hide();
					  win.close();
				  });
			}
        });
    }else{
    	showErrorMsg("表单验证不通过");
    }
};

/**
 * jsonData 参数的Ajax
 * @param url 路径
 * @param params 参数
 * @param successFn 成功回调
 * @param failFn 失败回调
 * @author 张登
 * @时间 2012-8-27
 */
function requestAjaxJsonParams(url,params,successFn,failFn){
	Ext.Ajax.request({
		url:url,
		jsonData:params,
		success:function(response){
			var result = Ext.decode(response.responseText);
			if(result.success){
				successFn(result);
			}else{
				failFn(result);
			}
		},
		failure:function(response){
			var result = Ext.decode(response.responseText);
			failFn(result);
		}
	});
};

/**
 * jsonData 参数的Ajax
 * @param url 路径
 * @param params 参数
 * @param successFn 成功回调
 * @param failFn 失败回调
 * @author 张登
 * @时间 2012-8-27
 */
function requestUmpAjaxJsonParams(url,params,returnFn){
	Ext.Ajax.request({
		url:url,
		jsonData:params,
		waitMsg:'保存中,请稍后...',//表单提交等待过程中,出现的等待字符
		success:function(response){
			var result = Ext.decode(response.responseText);				
						returnFn(result.resultMessage);					
			},
			failure:function(response){
				 var msg="请求失败，网络连接异常";
				  confirm(msg,function(){
					  return true;
				  },function(){
					  msgbox.hide();
					  win.close();
				  });
			}
	});
};


function TworequestUmpAjaxJsonParams(url,params,returnFn){
	Ext.Ajax.request({
		url:url,
		jsonData:params,
		//waitMsg:showWait,//表单提交等待过程中,出现的等待字符
		success:function(response){
			var result = Ext.decode(response.responseText);				
					returnFn(result.resultMessage);					
			},
			failure:function(response){
					hideWait();
				 var msg="请求失败，网络连接异常";
				  confirm(msg,function(){
					  return true;
				  },function(){
					  msgbox.hide();
					  win.close();
				  });
			}
	});
};


/**
 * Grid删除统一方法
 * @param grid grid对象
 * @author 张登
 * @时间 2012-8-27
 */
function gridDelete(grid){
	var records=grid.getSelectionModel().getSelection();
	if(records.length > 0){
		confirm("您确定要删除吗？",function(){
			grid.store.remove(records);
		});
	}else{
		showInfoMsg("请选择后再进行操作！");
	}
}

/**
 * 修改date对象数据的JSON提交方式
 * @param date 日期对象
 * @returns dateTime 日期对象的长整型数
 */
Ext.JSON.encodeDate = function(date) {
    var dateTime = date.getTime();
    return dateTime;
};

/**
 * 格式化日期
 * @param value 转换日期
 * @author 张登
 * @时间 2012-8-27
 */
function changeLongToDate(value) {
	if (value != null) {
		var date = new Date(value);
		return date;
	} else {
		return null;
	}
};

/**
 * 格式化日期
 * @param value 需要格式化的日期 返回到分和秒
 * @author
 * @时间 2012-10-18
 */
 

function formatToDate(value) {
	var myDate = new Date();
	var year=myDate.getFullYear();
	var month=myDate.getMonth()+1;
	var day=myDate.getDate();
	var hours=myDate.getHours(); 
	var min=myDate.getMinutes();  
	var s=myDate.getSeconds(); 
	var str=year+month+day+hours+min+s;
	if(value !=null){
		return str;
	}else{
		return null;
	}
}


/**
 * 格式化日期
 * @param value 需要格式化的日期
 * @author 张登
 * @时间 2012-8-27
 */


	
	
function formatDate(value) {
	if(value != null){
		return Ext.Date.format(new Date(value), 'Y-m-d');
	}else{
		return null;
	}
};

/**
 * 格式化状态信息
 * @param value 需要0：启用 1：禁用
 * @author 张登
 * @时间 2012-8-27
 */
function formatTostate(value){
	if(!Ext.isEmpty(value)){
		if(value=='0'){
			return '<span style="color:green">启用</span>';
		}else{
			return '<span style="color:red">作废</span>';
		}
	}
};
	
/*
 * @param value 需要1：成功 2：失败  3：短信失败 4：语音失败
 * @author 张贞献
 *  @时间 2012-11-05
 * */
function formatTostateReturn(value){
	if(!Ext.isEmpty(value)){
		if(value=='1'){
			return '<span style="color:green">成功</span>';
		}else if(value=='2'){
			return '<span style="color:red">失败</span>';
		}else if(value=='3'){
			return '<span style="color:red">短信失败</span>';
		}else if(value=='4'){
			return '<span style="color:red">语音失败</span>';
		}else if(value=='10'){
			/*
			 *  bug 2338  已修复
			 * */
			return '<span style="color:blue">待发送</span>';
		}else{
			return '<span style="color:purple">等待状态中</span>';
		}
		
	}
};	


/**
 * 格式化日期生存编码用
 * @param value 需要格式化的日期
 * @author 张登
 * @时间 2012-8-27
 */
function formatUmpDate(value) {
	if(value != null){
		return Ext.Date.format(new Date(value), 'YmdHis');
	}else{
		return null;
	}
};

/**
 * 格式化日期
 * @param value
 * @returns
 */
function formatMdDate(value) {
	if(value != null){
		return Ext.Date.format(new Date(value), 'md');
	}else{
		return null;
	}
};

/**
 * 格式化日期生存编码用
 * @param value 需要格式化的日期 (2012-08-12 14:12:11)
 * @author 张登
 * @时间 2012-8-27
 */
function formatUmpDatetoMin(value) {
	if(value != null){
		return Ext.Date.format(new Date(value), 'Y-m-d H:i:s');
	}else{
		return null;
	}
};



/*** 日期比较
 * @param 开始、结束日期
 * @author 张登
 * @时间 2012-8-27
 */
function compareTwoDate(startDate,endDate){
	var d, s, t, t2;
	var MinMilli = 1000 * 60;
	var HrMilli = MinMilli * 60;
	var DyMilli = HrMilli * 24;
	d = new Date();
	t = Date.parse(startDate);
	t2= Date.parse(endDate); 
	s = Math.round((t2-t)/ DyMilli);
	return s;
};

//比较两个字符串是否相等
function compare(str1,str2){
	if((str1==null && str2=="")||(str1==""&&str2==null)){
		return true;
	}
	
	if(str1==str2){
		return true;
		
	}else{
		return false;
	}
	
};	



//服务类型显示
function viewServiceType(value){
	if(value=='0'){
		return '<span style="color:green">全部类型</span>';
	}else if(value=='1'){
		return '<span style="color:green">短信</span>';
	}else if(value=='2') {
		return '<span style="color:green">语音</span>';
	}else if(value=='3'){
		return '<span style="color:green">短信语音</span>';
	}else{
		return '<span style="color:red">未知</span>';
	}
	
};	
	

/**
 * 设置combox的值为空
 * @param combo combo 对象
 * @author 张登
 * @时间 2012-8-27
 */
function setComboxEmptyValue(comboxObj){
	if(Ext.isEmpty(comboxObj.getValue())){
		comboxObj.setValue("");
	}
};